#ifndef GAMEMODEL_H
#define GAMEMODEL_H

#include <vector>
using namespace std;

enum GameType
{
    MAN,
    AI  //选择游戏模式
};

enum GameStatus
{
    PLAYING,
    WIN,
    DEAD//判断当前游戏状态
};

//棋盘尺寸
const int BOARD_GRAD_SIZE = 15;//棋盘格数
const int MARGIN = 30; //棋盘间隙
const int CHESS_RADIUS = 15; //棋子半径
const int MARK_SIZE = 6; //提示格的大小

const int BLOCK_SIZE = 40; //格子大小
const int POS_OFFSET = BLOCK_SIZE*0.4; //鼠标提示落点的有效尺寸

class GameModel//储存游戏的数据状态
{
public:
    GameModel();
public:

    vector<vector<int>> gameMapVec;//棋盘数据用二维数组表示当前状态，black 1，white -1

    bool playerFlag; //判断当前下棋为黑或者白

    GameType gameType; //当前游戏模式

    GameStatus gameStatus; //当前游戏状态

    void startGame(GameType type);//游戏开始，初始化

    void actionByPerson(int row, int col);//棋手下棋
    void updateGameMap(int row, int col);//棋手下棋更新棋盘数据
    bool isWin(int row,int col);//判断是否有某一方胜利


};

#endif // GAMEMODEL_H
